package org.forum.dao;

import java.io.Serializable;
import java.util.List;

import org.forum.domain.Forum;
import org.forum.domain.User;

/**
 * 
 * @author One
 */
public interface ForumDao {

	/**
	 * @deprecated 输入数据要求：
	 * @param pageNo
	 * @param pageSize
	 * @return
	 * 
	 */
	public List<Forum> getHighProfileForum(int pageNo, int pageSize);

	/**
	 * 添加一个新的forum
	 * 
	 * @param forum
	 */
	public Serializable addForum(Forum forum);

	/**
	 * 删除已有forum
	 * 
	 * @param forum
	 *            已持久化或者带有forumId
	 */
	public void deleteForum(Forum forum);

	/**
	 * 通过论坛id得到管理员id
	 * 
	 * @param forumId
	 * @return
	 */
	public int getAdministrationIdByForumId(int forumId);

	/**
	 * 通过管理员id得到管理员信息
	 * 
	 * @param administrationId
	 * @return
	 */
	public User getAdministrationInfoByAdministrationId(int administrationId);
	
	/**
	 * 通过UserId得到Forum
	 * @param user
	 * @return
	 */
	public List<Forum> getForumsByUserId(User user);

	/**
	 * 更新已有forum
	 * 
	 * @param forum
	 *            已持久化或者带有forumId
	 */
	public void updateForum(Forum forum);
}
